home *** CD-ROM | disk | FTP | other *** search
/ HTBasic 9.3 / HTBasic 9.3.iso / 83win / data1.cab / Basic_Plus_Examples / PUSHBTN < prev    next >
Encoding:
Text File  |  2001-03-02  |  1.4 KB  |  47 lines

  1. 10    ! ************************************************
  2. 20    ! Example: PUSHBUTTON Widget
  3. 30    !
  4. 40    ! This program generates a PUSHBUTTON widget with
  5. 50    ! three states. Each time the button is pressed, the
  6. 60    ! display cycles through Label ONE, Label TWO, and
  7. 70    ! Label THREE, and the associated state (0, 1, or 2).
  8. 80    ! is displayed.
  9. 90    !
  10. 100   ! ************************************************
  11. 110   !
  12. 120       DIM L$(1:3)[50]
  13. 130       INTEGER D(1:4),Dw,Dh,Bh,Bw,Bx,By,N
  14. 140       DATA "Label ONE","Label TWO","Label THREE"
  15. 150       READ L$(*)
  16. 160   !
  17. 170       GESCAPE CRT,3;D(*)
  18. 180       Dw=D(3)-D(1)
  19. 190       Dh=(D(4)-D(2))
  20. 200       Bw=128
  21. 210       Bh=Bw/2
  22. 220       Bx=(Dw-Bw)/2
  23. 230       By=(Dh-Bh)/2
  24. 240   !
  25. 250       ASSIGN @Btn TO WIDGET "PUSHBUTTON"
  26. 260       CONTROL @Btn;SET ("TITLE":" Example: PUSHBUTTON Widget")
  27. 270       CONTROL @Btn;SET ("SYSTEM MENU":"Quit")
  28. 280       CONTROL @Btn;SET ("X":Bx/2,"Y":By/2,"WIDTH":2.25*Bw,"HEIGHT":Bh)
  29. 290       CONTROL @Btn;SET ("LABELS":L$(*),"STATES":3)
  30. 300   !
  31. 310       ON EVENT @Btn,"ACTIVATED" GOSUB Handler
  32. 320       ON EVENT @Btn,"SYSTEM MENU" GOTO Finis
  33. 330   !
  34. 340       LOOP
  35. 350           WAIT FOR EVENT
  36. 360       END LOOP
  37. 370       STOP
  38. 380   !
  39. 390  Handler:!
  40. 400       STATUS @Btn;RETURN ("STATE":N)
  41. 410       DISP "State = "&VAL$(N)
  42. 420       RETURN
  43. 430   !
  44. 440  Finis:!
  45. 450       ASSIGN @Btn TO *! Delete PUSHBUTTON widget
  46. 460       END
  47.